#if !defined(AFX_DLGVIDEO_H__E88B0928_B844_4E68_8ACB_581E2091F8EC__INCLUDED_)
#define AFX_DLGVIDEO_H__E88B0928_B844_4E68_8ACB_581E2091F8EC__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DlgVideo.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CDlgVideo dialog

#include "PvMediaCtrl.h"

class CDlgVideo : public CDialog, public IPvBaseCtrlSink
{
// Construction
public:
	CDlgVideo(CWnd* pParent = NULL);   // standard constructor

	CPvMediaCtrl	m_ctrl;
	DWORD			m_dwStartTick;

// Dialog Data
	//{{AFX_DATA(CDlgVideo)
	enum { IDD = IDD_DIALOG_VIDEO };
	CStatic	m_wndVideo;
	CString	m_strIp;
	int		m_nPort;
	int		m_nRoomID;
	int		m_nUserID;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDlgVideo)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CDlgVideo)
	afx_msg void OnButtonVideo();
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

public:
	virtual void OnEnterRoomResp(uint16_t rt){}
	virtual void OnUserList(const UserInfo& userInfo){}
	virtual void OnAddUser(const UserInfo& userInfo){}
	virtual void OnDelUser(const UserInfo& userInfo){}
	virtual void OnChat(const UserInfo& srcUserInfo, const UserInfo& dstUserInfo, BOOL bPrivate, const string& strMessage){}
	
public:
	virtual void OnEnterMediaRoomResp(uint16_t rt);
	virtual void OnVideoDataNotify(uint32_t pts, uint8_t* pData, uint16_t nDataLen);
	virtual void OnAudioDataNotify(uint32_t pts, uint8_t* pData, uint16_t nDataLen);
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DLGVIDEO_H__E88B0928_B844_4E68_8ACB_581E2091F8EC__INCLUDED_)
